iPool Suite Commandline Options
This section is a fresh reference for the command-line options accepted by
the current iPool Suite. It covers the four BidManager Python tools
(Generator, Aggregator, Editor, Converter) together with the BidManager
-ibd2ibdx legacy rule-file converter, and the iPool simulation
engine. It also covers the iPool Suite converters for dynamic bid rule
files (-ibd2ibdx), batch files (--convert-bat) and legacy databases
(-updatedb -conv). Each tab groups the options by tool or by category and gives, for
each option, the argument it expects and a plain-language description of
what it does.
All options shown here are current — they exist and take effect against the running code. Options that no longer exist, that emit a "flag not recognised" warning, or that are kept solely as backward-compatibility no-ops have been left out on purpose so the reader can rely on every row below.
- BidManager · Generator
- BidManager · Aggregator
- BidManager · Editor
- BidManager · Converter
- Batch File Converter
- iPoolSuite · ibd2ibdx
- Database Editor
- Files Downloader
- iPool engine
bidmanager-generator — build a WESM historical bid from RTDOE/RTDOR interval data
Produces one <YYYYMMDD>_F.bidx file per day of interval data.
| Option | Description | Argument |
|---|---|---|
-t | Start delivery date. Required. | YYYYMMDD (e.g. 20260101) |
-ndays | Number of days to convert starting from -t (default: 1). | Any whole number ≥ 1 |
-bdir | Output directory for the produced .bidx file(s). | Directory path |
-rtdoe | RTDOE interval-data input directory. | Directory path |
-rtdor | RTDOR interval-data input directory (also drives spinmax/spinres priorities from reserve bids). | Directory path |
-market | Market identifier. | WESM or AEMO |
-srcdb | SysWESM reference database used for unit / site / capacity lookups. | Path to SysWESM*.db / .db |
-defaults-csv | Defaults.csv file that resolves the paths above (MetadataDB, DirSub, DirBid, RTDOE, RTDOR). | Path to Defaults.csv |
-verbose | Restore chatty representative-price WARNING output on stderr. | (No argument) |
Auto-loading. When invoked without every path explicitly given,
Generator resolves inputs and databases through a fallback chain: an
explicit flag on this command line wins, otherwise it reads the file
named by -defaults-csv, then the graphical app's own persisted
Defaults.csv, then canonical install-relative paths, and finally
hard-coded fallbacks.
bidmanager-aggregator — aggregate a range of daily bid files into one aggregated bid
Aggregates every .bid in a directory (or a date-window subset)
into one combined bid file. Single-dash flags below are the
recommended form for command-line use and for scripting.
| Option | Description | Argument |
|---|---|---|
-t | Start date of files to process. | YYYYMMDD (e.g. 20260101) |
-ndays | Number of days from the start date to include. Accepts a whole number, or the literal m for a full calendar month. | Any whole number, or m |
-all | Process every .bid and .bidx file in the input directory. Bare form uses the default directory; an argument overrides it. | Optional directory path |
-s | Output filename for the aggregated bid file. | Filename |
-dest | Full output path for the aggregated bid file (alternative to -s). | File path |
-cap | Include only bids with available capacity above the given percentage (0–100). -cap 0 keeps all bids. | 0–100 |
-cap_COAL | Per-fuel -cap for COAL units. Also accepted as -capCOAL (no underscore). | 0–100 |
-cap_CCGT | Per-fuel -cap for CCGT units. Also -capCCGT. | 0–100 |
-cap_OCGT | Per-fuel -cap for OCGT units. Also -capOCGT. | 0–100 |
-cap_HYDRO | Per-fuel -cap for HYDRO units. Also -capHYDRO. | 0–100 |
-cap_GEO | Per-fuel -cap for GEO units. Also -capGEO. | 0–100 |
-cap_PUMP | Per-fuel -cap for PUMP units. Also -capPUMP. | 0–100 |
-cap_BIO | Per-fuel -cap for BIO units. Also -capBIO. | 0–100 |
-cap_WIND | Per-fuel -cap for WIND units. Also -capWIND. | 0–100 |
-fixed | Exclude bids with fixed MW. | (No argument) |
-bt | Include only bids inside the named calendar time period. Repeatable to combine periods. | DEF_PRIORITY, WEEKDAY, WEEKEND, WORKDAY, NONWORK, FRI2SUN, MON, TUE, WED, THU, FRI, MWF, SAT, SUN, SUNH |
-log | Write an aggregation log listing units removed for having empty bids. | (No argument) |
-stat | Write a per-fuel statistics file (availability, capacity, load factors). Bare form uses 50 as the default threshold. | Optional integer threshold |
-market | Market identifier. | WESM or AEMO |
-byPrc | Accepted for iBidAgg25.6 backward compatibility; always a no-op. | (No argument) |
-resolution | Output resolution. | 5min (default) or hourly |
-defaults-csv | Defaults.csv file that resolves MetadataDB, TimePeriodsDB, DirSub, DirBid. | Path to Defaults.csv |
-metadata-db | SysWESM database used for capacity and fuel-type lookups. | Path to SysWESM*.db / .db |
-timeperiods-db | TimePeriods database that resolves -bt period identifiers. | Path to TimePeriods.db / .db |
bidmanager-editor — inspect, edit and transform bid files
Editor is a subcommand-based CLI: every invocation names a
subverb after the program name, e.g.
bidmanager-editor purge-empty -file 01AMBUK_U01.bid. Every
invocation is one atomic shot — the CLI reads the file, applies
the named operation and writes back in a single step. There is no
interactive "load, edit, save" session.
Subcommands — pick one per invocation
| Subcommand | What it does |
|---|---|
init | Create an empty bid file. |
read | Print the contents of a bid file (JSON on stdout — used by the graphical UI). |
reference | Print the reference-entity tables (sites, units, regions) held inside a bid file. |
meta | Print the bid file's metadata block. |
write | Write a fresh profile-set from a supplied JSON payload (append mode). |
save | Write a fresh profile-set from a supplied JSON payload (overwrite mode). |
validate | Check a bid file's structural and referential integrity. |
stamp-metadata | Back-fill the reference-entity tables on a bid file authored without a source DB. |
import-legacy | Convert a single CArchive .bid file to the SQLite .bidx format (the subcommand's own name is import-legacy). |
import-csv | Import bid profiles from a CSV file. |
export-csv | Export bid profiles to a CSV file. |
submit | Copy a bid file to the configured submission directory. |
purge-empty | Remove empty bid rows from a file. |
swap | Merge one or more source bid files into a target file, replacing overlapping bids and adding new ones. Source-file argument repeatable. |
extract | Extract a subset of profiles into a new file, filtered by region or unit type. |
transform | Run a single price/quantity/limit operation on all bids in a file (see the operations table below). |
transform-batch | Run one operation over a candidate DUID set filtered by region, site or per-DUID inclusion/exclusion. |
Common flags — accepted by (almost) every subcommand
| Option | Description | Argument |
|---|---|---|
-file | The bid file the subcommand reads and/or writes. Required. | Path to .bid / .bidx |
-bid-dir | Default bid directory (recorded into the file on init). | Directory path |
-source-db | Reference DB for site / unit / region resolution. | Path |
-market | Market identifier for new files. | WESM or AEMO |
Transform operations — used with -op <NAME> on transform and transform-batch
-op name | What it does | Required arguments |
|---|---|---|
scale-prices | Multiply bid prices by a factor across all hours. | -factor F |
scale-qty | Multiply bid quantities in a given price-band range. | -factor F, -from-prc PRICE |
scale-cap | Scale the available-capacity column by a factor. | -factor F |
add-prices | Add a value to bid prices in a given price-band range. | -val V, -from-prc PRICE |
sub-prices | Subtract a value from bid prices in a given price-band range. | -val V, -from-prc PRICE |
limit-prices | Clamp prices between an upper cap and a lower floor. | -voll UPPER, -volg LOWER |
create-bid | Create a bid on every DUID. Pattern is flat, peak, or peak+offpeak. | -i-pop 1|2|3, -price P, -qty MW |
scopy | Clone a source DUID's bid profile onto a destination MW cap. | -src-duid SRC, -dst-mw-max MW |
transform-batch — scope filters
transform-batch runs one -op over the candidate DUID set defined
by the filters below. Filters are repeatable and combine with AND
semantics.
| Option | Description | Argument |
|---|---|---|
-inc-region | Include only DUIDs in the given region. | Region ID (e.g. CLUZ) |
-exc-region | Exclude DUIDs in the given region. | Region ID |
-inc-site | Include only DUIDs at the given site. | Site ID |
-exc-site | Exclude DUIDs at the given site. | Site ID |
-exc-duid | Exclude these specific DUIDs (applied after region/site filters). | DUID |
extract — filter an existing file into a new one
| Option | Description | Argument |
|---|---|---|
-region | Keep only profiles in the given region. | Region ID (e.g. CLUZ) |
-type | Keep only profiles for units of the given fuel type. | Fuel code (e.g. WIND, COAL) |
bidmanager-converter — bulk-convert CArchive .bid files to SQLite .bidx
A one-off bulk migration tool: converts binary CArchive .bid
files to the current SQLite .bidx format.
| Option | Description | Argument |
|---|---|---|
-indir | Input directory holding CArchive .bid files. Required. | Directory path |
-outdir | Output directory for converted .bidx files (must already exist). Required. | Directory path |
-file | A specific .bid filename inside -indir to convert, or the literal all to convert every .bid. Repeatable. | Filename or all |
-all | Alias for -file all — convert every .bid in the input directory. | (No argument) |
-market | Market of the bid files. Default WESM. | WESM or AEMO |
-source-db | Optional single SysWESM metadata DB applied to every file. | Path |
-variant | CArchive wire-variant selector. Default auto. | auto, v1 or v2 |
-indir and -outdir are the canonical spellings. The hyphenated forms
-in-dir and -out-dir are also accepted as aliases.
Bare positional filename arguments (FILE...) are accepted as an
alternative to -file, resolved inside -indir.
A .bidx of the same name in -outdir is replaced. The original .bid files are kept.
The converter is in <iPool Suite folder>\resources\engine; a ready-made sample,
resources\batch files\converter.bat, is installed with iPool Suite.
Example: convert every .bid in a folder
REM CONVERT EXISTING BID FILES TO BIDX
set "PATH=C:\Program Files\iPool\resources\engine;%PATH%"
REM -all converts every old .bid file in the -indir folder
bidmanager-converter.exe -indir "C:\IENERGY\WESM2609\Bidsold" ^
-outdir "C:\IENERGY\WESM2609\Bids" -all ^
-source-db "C:\IENERGY\WESM2609\Databases\SysWESM2609.db"
pause
iPoolSuite.exe --convert-bat — convert old batch files
Converts old iPool batch files (.bat) for iPool Suite without opening the graphical interface. It does
the same job as Scenario Studio → Load ▾ → Convert old batch file. For each batch file it saves
a new _converted.bat file and a _converted_report.txt file next to the old one; the old file is never
changed.
| Option | Description | Argument |
|---|---|---|
--convert-bat | Convert the batch files named after it. Put one or more batch file names after it. | One or more .bat paths |
--convert-files | Also convert the .mdb and .bid files the batch file uses. | (No argument) |
--keep-rep | Keep your -rep 1 / -rep 2 report level. Without it, the converter sets -rep 3. | (No argument) |
--out | Save the converted files in another folder. | Folder path |
The optional extras go after the file names.
Example: convert one batch file and the databases and bid files it uses
"C:\Program Files\iPool\iPoolSuite.exe" --convert-bat "C:\IENERGY\RunHST.bat" --convert-files
You can also select old .bat files in Windows Explorer and drag them onto Convert-OldBatch.bat in the
iPool Suite folder. A window shows the result.
iPoolSuite.exe -ibd2ibdx — convert legacy .ibd rule files to .ibdx
Converts legacy intelligent bid .ibd files to the current .ibdx (SQLite)
format. Runs without opening the graphical interface.
iPoolSuite.exe -ibd2ibdx -indir <dir> -outdir <dir> (-all | -file NAME ...) [-overwrite] [-market WESM|AEMO]
| Option | Description | Argument |
|---|---|---|
-ibd2ibdx | Activates the ibd→ibdx converter. Required. | (No argument) |
-indir <dir> | Input directory containing .ibd files. Required. | Directory path |
-outdir <dir> | Output directory for converted .ibdx files. Created if it does not exist. Required. | Directory path |
-all | Convert every .ibd file in -indir. Mutually exclusive with -file. | (No argument) |
-file NAME | Convert a specific file by name. Repeatable. Mutually exclusive with -all. | Filename |
-overwrite | Replace existing .ibdx output files. Default: skip existing files. | (No argument) |
-market | Market identifier written into converted files. | WESM or AEMO |
Log file: <outdir>\ibd2ibdx.log — one line per file plus a summary.
Exit codes
| Code | Meaning |
|---|---|
0 | All files converted successfully or skipped |
1 | One or more conversion errors |
2 | Bad arguments |
Note: Use
-indir/-outdir(no hyphen between words). Both tools use these canonical spellings;bidmanager-converteralso accepts-in-dir/-out-diras aliases, but-ibd2ibdxrejects them with the error "Flag(s) renamed: -in-dir - use -indir / -outdir instead".
iPoolSuite.exe -updatedb — batch-update an iPool Suite database from CSV/XLSX source files
Triggered by passing -updatedb anywhere in the argument list. Supports adding Sites/Units/Storages,
upgrading capacities, importing generation data, converting a regional database to zonal format, and converting legacy .mdb databases to .db.
Executable name. The correct command is
iPoolSuite.exe. The application's own--helpoutput and some error messages still printDatabaseEditUtility.exe— that is the legacy standalone-app name from before the suite merge and is not installed by the current suite. UseiPoolSuite.exe.
Dry-run by default. Without
-s, the CLI validates all inputs and reports what would change, but writes nothing to the database. Adding-sperforms the write. Always review the dry-run output before adding-s.
Five mutually exclusive modes
Specify flags from exactly one mode per invocation. Mixing flags from more than one mode exits with code 1.
| Mode | Trigger | What it does |
|---|---|---|
| 1 — Add Sites / Units / Storages | At least one of -SitesFile, -UnitsFile, -StorsFile | Upserts rows into the Sites, Units, and/or Storages tables from CSV files. Any subset of the three may be provided in one call. |
| 2 — Capacity Upgrade | -histDBErr | Updates MwMax values in the Units table from a HistDBErr file produced by the Energy Market System. |
| 3 — Generation Files | -genlist AND at least one -capeg | Adds/renames units, sites, and participants by processing an ERC/mnm generator list and one or more CAPEG files. Both flags are required; either alone exits with code 1. |
| 4 — Regional to Zonal Conversion | -setzones | Converts a regional database (Regions table has exactly CLUZ, CMIN, CVIS) into a new zonal database. The source database is never modified. |
| 5 — MDB to DB Conversion | -conv | Converts .mdb database files to the current SQLite .db format. Single-file: combine with -o <file.mdb> to convert that file; output lands in the same directory with the same stem and a .db extension. All-files: omit -o to convert every top-level .mdb in the DirDB path (resolved from Defaults.csv). Cannot be combined with other mode flags; exits with code 1 if mixed. |
Options
| Option | Description | Argument | Applies to |
|---|---|---|---|
-updatedb | CLI-mode trigger. Required. | (No argument) | All |
-o <path> | Database file to read (and write with -s). Required. | File path (.db) | All |
-s | Write changes to the database. Without this flag the run is a dry run. | (No argument) | All |
-SitesFile <path> | Sites CSV to upsert. | File path (.csv) | Mode 1 |
-UnitsFile <path> | Units CSV to upsert. | File path (.csv) | Mode 1 |
-StorsFile <path> | Storages CSV to upsert. | File path (.csv) | Mode 1 |
-histDBErr <path> | HistDBErr file for capacity upgrade. Required for Mode 2. | File path (.csv / .xlsx / .xls) | Mode 2 |
-genlist <path> | ERC/mnm generator list. Required for Mode 3. | File path (.csv / .xlsx / .xls) | Mode 3 |
-capeg <path> | CAPEG file. Required for Mode 3; repeatable — each -capeg adds one file, processed in order. | File path (.csv / .xlsx / .xls) | Mode 3 |
--no-auto-rename-siteid | Disable renaming existing SiteIDs with a fuel-type suffix and suffixing new site names. | (No argument) | Mode 3 |
--no-create-twin-battery | Freeze all twin battery creation, sync, and DUID normalisation. | (No argument) | Mode 3 |
-setzones | Trigger for Mode 4 (takes no value). | (No argument) | Mode 4 |
-conv | CLI-mode trigger for Mode 5 (MDB to DB conversion). Takes no value. | (No argument) | Mode 5 |
-x | Accepted for batch-script compatibility; always a no-op in CLI mode. | (No argument) | All |
Log file
A .cli.log file is always written beside the database file — same directory, same stem as the .db
file (e.g. SysWESM2608.db → SysWESM2608.cli.log). If -o is missing or the path is invalid, the
log falls back to cli.log in the current working directory.
⚠ Destructive flag: -setzones -s
-setzones -s creates or silently overwrites an output file with Z appended to the stem
(e.g. SysWESM2608.db → SysWESM2608Z.db). Overwriting an existing output file is the intended
behaviour, matching the GUI — but verify that the output path does not hold data you want to keep.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success, or dry run completed without errors |
| 1 | Validation error, missing required flag, file not found, or fatal runtime error |
Examples
Mode 1: Add new sites from a CSV (dry run first, then save)
iPoolSuite.exe -updatedb -o "C:\iEnergy\WESM2608\SysWESM2608.db" -SitesFile "C:\iEnergy\NewSites.csv"
REM Review the log, then add -s to write:
iPoolSuite.exe -updatedb -o "C:\iEnergy\WESM2608\SysWESM2608.db" -SitesFile "C:\iEnergy\NewSites.csv" -s
Mode 1: Add sites, units, and storages in one call
iPoolSuite.exe -updatedb -o "C:\iEnergy\WESM2608\SysWESM2608.db" ^
-SitesFile "C:\iEnergy\NewSites.csv" ^
-UnitsFile "C:\iEnergy\NewUnits.csv" ^
-StorsFile "C:\iEnergy\NewStorages.csv" ^
-s
Mode 2: Capacity upgrade from HistDBErr file
iPoolSuite.exe -updatedb -o "C:\iEnergy\WESM2608\SysWESM2608.db" -histDBErr "C:\iEnergy\HistDBErr.csv" -s
Mode 3: Import generation files (two CAPEG files)
iPoolSuite.exe -updatedb -o "C:\iEnergy\WESM2608\SysWESM2608.db" ^
-genlist "C:\iEnergy\mnm_genlist.csv" ^
-capeg "C:\iEnergy\CAPEG_20260801.csv" ^
-capeg "C:\iEnergy\CAPEG_20260901.csv" ^
-s
Mode 4: Convert regional to zonal (dry run, then save)
iPoolSuite.exe -updatedb -o "C:\iEnergy\WESM2608\SysWESM2608.db" -setzones
REM Output path would be C:\iEnergy\WESM2608\SysWESM2608Z.db (reported in log)
REM Add -s to write the output file:
iPoolSuite.exe -updatedb -o "C:\iEnergy\WESM2608\SysWESM2608.db" -setzones -s
iPoolSuite.exe -updatedb -conv — convert legacy .mdb databases to .db
The iPool Suite engine reads only SQLite .db databases. -updatedb -conv converts Microsoft Access
.mdb databases to .db from a batch file, without opening iPool Suite.
| Option | Description | Argument |
|---|---|---|
-updatedb -conv | Convert .mdb to .db. Both are needed, in this order. | (No argument) |
-o <file.mdb> | Convert only this file. The .db gets the same name, in the same folder. Without -o, every .mdb in DirDB (from Defaults.csv) is converted (not its subfolders). | File path (.mdb) |
The .mdb files are kept. An existing .db of the same name is replaced. The result is shown in the
window and saved in a log file: SysWESM2610.cli.log next to the database for one file, or
conv-batch.cli.log in DirDB for a whole folder.
Example: convert one database, or every database in DirDB
REM CONVERT EXISTING MDB DATABASES TO DB
REM ==================================================================
REM One database: -o is the .mdb file. The .db is written next to it.
"C:\Program Files\iPool\iPoolSuite.exe" -updatedb -conv ^
-o "C:\IENERGY\WESM2610\Databases\SysWESM2610.mdb"
REM Every .mdb in your database folder (DirDB in Defaults.csv): leave out -o.
"C:\Program Files\iPool\iPoolSuite.exe" -updatedb -conv
pause
iPoolSuite.exe — batch-download IEMOP market data or weather data
Triggered by passing any of the downloader flags (without -updatedb). If -updatedb is also present,
the Database Editor takes precedence and the downloader is not invoked. Downloads IEMOP market files or
Visual Crossing weather data for a specified date range to a local folder, without opening the graphical
interface.
Executable name. The correct command is
iPoolSuite.exe. The application's help text still printsiEnergy-Download-Utility.exe— that is the legacy standalone-app name and is not installed by the current suite. UseiPoolSuite.exe.
Two download types
| Type | Trigger | What it downloads |
|---|---|---|
| IEMOP market data (default) | --all, --rtd, --dap, --wap, --other, or --types | Market files from IEMOP for the date range. If no type flag is given, defaults to all types. |
| Weather data | --weather / -w | Hourly or daily weather data from the Visual Crossing API. |
Options
| Option | Short | Description | Argument | Applies to |
|---|---|---|---|---|
--all | — | Download all IEMOP file types. | (No argument) | IEMOP |
--rtd | — | Download RTD files. | (No argument) | IEMOP |
--dap | — | Download DAP files. | (No argument) | IEMOP |
--wap | — | Download WAP files. | (No argument) | IEMOP |
--other | — | Download files whose category is OTHER in the downloader registry. | (No argument) | IEMOP |
--types | -t | Download specific file types by ID (comma-separated; see type ID table below). | Type IDs (e.g. RTD,DAP) | IEMOP |
--weather | -w | Download weather data instead of IEMOP market data. | (No argument) | Weather |
--hourly | — | Download hourly weather (default when --weather is used). | (No argument) | Weather |
--daily | — | Download daily weather. Daily mode always downloads Manila, Cebu, and Davao — --locations is silently ignored. | (No argument) | Weather |
--ipool | — | Convert daily weather output into iPool-compatible format. Has no effect in hourly mode. | (No argument) | Weather daily only |
--ipool-filename | — | Output filename for the iPool conversion (default: TempHST.csv). Requires --ipool. | Filename (e.g. TempFST.csv) | Weather daily + --ipool |
--locations | -l | Filter hourly weather by location ID(s). Silently ignored in daily mode. | Comma-separated location IDs | Weather hourly only |
--api-key | — | Visual Crossing API key. If omitted, the CLI reads it from saved GUI settings. A missing key exits with code 1. | API key string | Weather |
--lastweek | — | Date range: last 7 days. | (No argument) | Both |
--lastmonth | — | Date range: last calendar month. | (No argument) | Both |
--days | -d | Date range: N days back from today. | Integer | Both |
--start | -s | Start date (default: yesterday). | YYYY-MM-DD | Both |
--end | -e | End date (default: same as --start). | YYYY-MM-DD | Both |
--output | -o | Output folder. Required. | Directory path | Both |
--help | -h | Print usage and exit. | (No argument) | Both |
IEMOP file type identifiers (for --types)
| Category | Type IDs |
|---|---|
| RTD | RTD, RTDOR, RTDOE, RTDRS, RTDHS, MP, RTDOPRSVSUMM, RTDREG |
| DAP | DAP, DAPHS, DAPOPRSVSUMM, DAPOS, DAPHL |
| WAP | WAP, WAPHS, WAPOPRSVSUMM, WAPOS, WAPHL |
| Other | AP, iemap, capeg, MNM, SLD, CAPER, GWAP, LWAP, DIPCRF, DIPCEF, DIPCER |
GWAPandLWAPare user-facing aliases — the downloader normalises them tofinalgwapandfinallwaprespectively.
Exit codes
| Code | Meaning |
|---|---|
| 0 | All downloads succeeded |
| 1 | One or more downloads failed, or a fatal error occurred |
Examples
Download all IEMOP file types, last 7 days
iPoolSuite.exe --all --lastweek --output "C:\iEnergy\WESM2608\WESM FILES"
Download RTD files only, last month
iPoolSuite.exe --rtd --lastmonth --output "C:\iEnergy\WESM2608\WESM FILES"
Download specific types, last 3 days
iPoolSuite.exe --types RTD,DAP,WAP --days 3 --output "C:\iEnergy\WESM2608\WESM FILES"
Download all types for a specific date range
iPoolSuite.exe --all --start 2026-08-01 --end 2026-08-31 --output "C:\iEnergy\WESM2608\WESM FILES"
Download DAP files for a single day
iPoolSuite.exe --dap --start 2026-08-15 --output "C:\iEnergy\WESM2608\WESM FILES"
Download hourly weather for all cities, last week
iPoolSuite.exe --weather --hourly --lastweek --output "C:\iEnergy\WESM2608\WESM FILES\Weather"
Download daily weather (Manila, Cebu, Davao), last month
iPoolSuite.exe --weather --daily --lastmonth --output "C:\iEnergy\WESM2608\WESM FILES\Weather"
Download daily weather converted to iPool format
iPoolSuite.exe --weather --daily --ipool --lastweek --output "C:\iEnergy\WESM2608\WESM FILES\Weather"
Download hourly weather for specific cities
iPoolSuite.exe --weather --hourly --locations manila,cebu --days 7 --output "C:\iEnergy\WESM2608\WESM FILES\Weather"
Download weather with an explicit API key
iPoolSuite.exe --weather --daily --api-key YOUR_KEY --lastweek --output "C:\iEnergy\WESM2608\WESM FILES\Weather"
Folders
| Option | Description | Argument |
|---|---|---|
-dbdir | Database folder (server-injected on containerised runs). | Directory path |
-bdir | Bid folder. | Directory path |
-ddir | Demand folder (server-injected on containerised runs). | Directory path |
-gdir | Must-run generation folder. | Directory path |
-sdir | Scenario folder. | Directory path |
-hdir | Historical / market-data folder (WESM FILES). Server-injected only in containerised runs. | Directory path |
-idir | Config folder holding Defaults.csv (server-injected on containerised runs; see Diagnostics). | Directory path |
-dirMain | Registry override for the main data dir (server-injected on containerised runs). | Directory path |
-dirDB | Registry override for the database dir (server-injected on containerised runs). | Directory path |
-db | Reload the pool database from a given path. | Path |
Databases
| Option | Description | Argument |
|---|---|---|
-ipdb | iPool system database. | SysWESM2XXX.db |
-tpdb | Calendar (time-periods) database. | TimePeriods.db |
-isdb | iScen (scenarios) database. | iScen.db |
-ifdb | iFlow database. | iFloWESM.db |
-ibdb | iBid database. | iBidWESM.db |
-updatedb | Update the system database with detected changes to sites and units. | (No argument) |
-setzones | Convert regions to zones (WESM only). | (No argument) |
-delsite | Delete a site from the scenario and database. | Site ID |
-delunit | Delete a unit from the scenario and database. | Unit ID |
Market
| Option | Description | Argument |
|---|---|---|
-HR0 | Starting hour of market. 0 = WESM, 4 = AEMO. | 0 or 4 |
-MPC | Market price cap (PhP/MWh). Alias of -VOLL. | e.g. 32000 |
-VOLL | Value of loss of load — maximum price (PhP/MWh). | e.g. 32000 |
-VOLG | Value of loss of generation — minimum price (PhP/MWh). | e.g. -40 |
-VOCE | Value of carbon emissions (PhP/MWh). | e.g. 500 |
-iprul | Pool pricing rule. | 0=Nodal, 1=Nodal Ave, 2=Zonal, 3=Zonal Ave, 4=Postage, 5=Uniform |
Scenario Options
| Option | Description | Argument |
|---|---|---|
-o | Open an existing scenario. | Scenario name (e.g. BASE) |
-new | Create a new scenario. | Scenario name (e.g. BASENew) |
-t | Start date. | MM/dd/yyyy (also YYYYMMDD accepted by ingest tools) |
-ndays | Number of days to simulate. | Any whole number |
-s | Save (or Save-As) the scenario after run. | Filename |
-x | Close the file on completion. iPool Suite launchers inject this automatically. | (No argument) |
-5mnDisp | Dispatch interval. 0 = hourly, 1 = 5-minute. | 0 or 1 |
-group | Include one or more site groups. | BATTERY, BIO, CCGT, COAL, DIESEL, DISPDEM, GEO, HYDRO, MR_ALL, OCGT, PUMP, ROR, SOLAR, STGAS, WIND |
-port | Include market participants. Repeatable. | ALL or Participant ID |
-stor | Include storages. Repeatable. | ALL or Storage ID |
Input Files
| Option | Description | Argument |
|---|---|---|
-df | Load a meter-data file. Repeatable. | MeterData.csv |
-c | Load a contract file. Repeatable. | Filename.csv |
-p | Load an external price trace to re-value a dispatched scenario under new prices (RECALC mode). | Prices.csv |
-bset | Load a CSV listing the bid files to attach. | BidSet.csv |
-eset | Load a CSV listing the event files to attach. | EventSet.csv |
-SitesFile | Update sites from a CSV file. | Sites.csv |
-UnitsFile | Update units from a CSV file. | Units.csv |
-StorsFile | Update storages from a CSV file. | Storages.csv |
-UFile | Portrait-form Units table file (AEMO). | Filename |
-SFile | Portrait-form Sites table file (AEMO). | Filename |
-MLFFile | AEMO Marginal Loss Factor file. | Filename |
-NEMInfo | AEMO NEM Generation Info file. | Filename |
-NEMData | AEMO NEM Generation Data file. | Filename |
-CAPEGFile | Process a CAPEG generator file and automatically create out-of-merit operation bids. | CAPEG file |
-genlist | Emit a comprehensive generator list from CAPEG files, splitting bidirectional supply/demand units. | Filename |
-poe | Load a Probability of Exceedance file. | Filename |
Bids
| Option | Description | Argument |
|---|---|---|
-bf | Load a custom bid file. Paired with -bt for time-period scope. Repeatable. | 01SUAL.bid |
-bt | Calendar time period for the following -bf / -ybf. Repeatable. | DEF_PRIORITY, WEEKDAY, WEEKEND, WORKDAY, NONWORK, FRI2SUN, MON, TUE, WED, THU, FRI, MWF, SAT, SUN, SUNH |
-b | Alias of -bf. | Filename.bid |
-ybf | "Yesterday" bid file (repeatable, paired with -ybt). | Filename |
-ybt | Calendar time period for the following -ybf. Repeatable. | Time-period ID |
-rb | Retain loaded bids. | (No argument) |
-ib | Load an Intelligent Bidding (dynamic bidding) rule file (.ibdx SQLite or CSV). Legacy .ibd files must be converted first with iPoolSuite.exe -ibd2ibdx. Use -ib 0 to disable dynamic bidding; do not combine -ib 0 with a rule filename. | ib_LSHW.ibdx or 0 |
-ab | Autobid loading — extract outages for the given horizon (hours). | Whole number of hours |
-abf | Site type filter applied by -ab. | ALL, COAL, CCGT |
Reporting Options
| Option | Description | Argument |
|---|---|---|
-rep | Report level. | 0=minimal, 1=medium, 2=high, 3=maximum |
-remark | Comments on the scenario. | Free text |
-nowin | Do not raise the Windows message box. | (No argument) |
-NoDis | Skip dispatch simulation. iPool Suite launchers can emit -NoDis, -NoDis 1 or omit it entirely. | Optional 1 |
-skin | Interface skin from skincrafter. | Avalon.skf |
-ts | Time-starting mode. | 0 or 1 |
-SimLog | Print the simulation log at the given dispatch time. | e.g. 10/21/2025 7:00 |
-hist | Historical simulation. | (No argument) |
-histskip | Allow a historical simulation to continue when data files are missing; missing days are logged and skipped. | (No argument) |
-histhr | Hourly-only interval outputs. Valid only with -hist. | (No argument) |
-checkinputs | Check that input files are complete. | (No argument) |
Load Profiling & Pricing
| Option | Description | Argument |
|---|---|---|
-iLoad | Load-profile mode. | Analyze, Forecast, ReForecast or Compare |
-ACFile | Historical input file. | acdemand.csv |
-FCFile | Forecast output file. | fcdemand.csv |
-bWeight | Chronological weighting. | 0 or 1 |
-idt | Profile-irregularity threshold (%) for validation and NTL detection. | e.g. 50 |
-ObID | Meter IDs or Region IDs to profile. Repeatable. | e.g. meter01 |
-Dfac | Demand multiplier / growth rate factor. | e.g. 1.02 |
-FCDate | Forecast start date. | MM/dd/yyyy |
-FCDays | Forecast horizon in days. | e.g. 7 |
-FCMax | Forecast maximum demand for regions / meters. Repeatable. | e.g. 9000 |
-dmod | Demand model file. | Dmod_ScenID.csv |
-pmod | Tariff price profile file. | Tariffs.csv |
-tm | Historical temperature input file. | TempHST.csv |
-tmfc | Forecast temperature input file. | TempFC.csv |
Backcast & Calibration
| Option | Description | Argument |
|---|---|---|
-run | Run simulation. | (No argument) |
-d | Load a region demand file. | e.g. Demand.csv |
-g | Load a must-run generation CF file. Repeatable. | e.g. Gen.csv |
-e | Load an event file. Repeatable. | e.g. Ev_BCA.csv |
-dr | Region ID for demand scaling. Repeatable; paired with -dx / -da / -dm. | CLUZ, CVIS, CMIN |
-dx | Multiply demand for the preceding -dr region. Repeatable. | e.g. 1.02 (2% increase) |
-da | Add to demand for the preceding -dr region. | e.g. 200 |
-dm | Subtract from demand for the preceding -dr region. | e.g. 100 |
-i | Adjust prices by a CPI factor. | e.g. 1.02 |
-spin | Enable/disable spinning reserves. Automatically set to 1 by -pcsr and by -coopt unless -spin 0 is passed. | 0 or 1 |
-pcsr | Set percentage spinning reserve. Auto-enables spinning-reserve dispatch — no need to pass -spin 1 separately. | 0.1 – 100 |
-pcrq | Reserve Bid Quantity Scale — scales the reserve bid quantity (percent; 100 = no change). Ladder clearing only. | Percent (e.g. 100) |
-pcrp | Reserve Bid Price Scale — scales the reserve bid price (percent; 100 = no change). Ladder clearing only. | Percent (e.g. 100) |
-pcms | Adjust by % SRmaxcap / maxspin. | e.g. 20 |
-pmin | Enable/disable unit minimum load. | 0 or 1 |
-ramp | Enable/disable ramp limits. | 0 or 1 |
-elim | Enable/disable energy limits. | 0 or 1 |
-mlf | Use marginal loss factors. | 0 or 1 |
-cba | Carbon bid adjustment using ratio of VOCE / base value of carbon emissions (PhP/MWh). | e.g. 1200 |
-px | Bid-price multiplying factor. | e.g. 1.2 |
-MINFLOOR | Minimum floor value used when calibrating demand-side response. | e.g. 3000 |
-dbt | AEMO demand backoff value. | Floating-point number |
-rmw | Required Reserve MW quantity file. | Filename |
What-If Scenarios
| Option | Description | Argument |
|---|---|---|
-du | Apply to a specific unit ID. | e.g. 01SUAL_G01 |
-out | Force a unit outage. Repeatable. | Unit ID |
-in | Force a unit into service. Repeatable. | Unit ID |
-bf | Load a bid file. | 01SUAL.bid |
-bt | Time period for the following -bf; write -bt first. | DEF_PRIORITY, etc. |
-ilp | Interruptible loads on/off. | 0 or 1 |
Secondary Pricing
| Option | Description | Argument |
|---|---|---|
-ipcap | Secondary pricing: CPT on/off. | 0 or 1 |
-pcap | Secondary price cap (PhP/MWh). | e.g. 6500 |
-pave | Secondary price average trigger (PhP/MWh). | e.g. 9000 |
-phrs | Secondary price consecutive hours. | e.g. 168 |
Network Constraints
| Option | Description | Argument |
|---|---|---|
-dlf | Dynamic loss factors on/off. | 0 or 1 |
-gc | Generic constraints on/off. | 0 or 1 |
-gcid | Generic constraint equation ID. | e.g. GENC0N1 |
-gcto | Link-constraint "to" equation ID. | e.g. VISLUZ1_TO1 |
-gcfr | Link-constraint "from" equation ID. | e.g. VISLUZ1_FR1 |
-multi | Single-region vs multi-region pool. | 0 or 1 |
-nolim | Set high limit on all links. | (No argument) |
Must-Run Weather Data
| Option | Description | Argument |
|---|---|---|
-mrs | Must-run solar file. | e.g. MRESOLAR_2025.csv |
-mrw | Must-run wind file. | e.g. MREWIND_2025.csv |
-mrec | Must-run energy conversion. | 0 or 1 |
-mrdb | Must-run database update. | (No argument) |
-PoEH | PoE curve high-elbow point. | e.g. 0.3 |
-PoEL | PoE curve low-elbow point. | e.g. 0.6 |
-PoEHs | PoE high-elbow point — Solar option. | e.g. 0.3 |
-PoELs | PoE low-elbow point — Solar option. | e.g. 0.7 |
Monte Carlo
| Option | Description | Argument |
|---|---|---|
-n | Number of Monte Carlo samples. | e.g. 30 |
-r | Random seed. | e.g. 100 |
-rd | Number of days before the start date to begin randomising outages. | e.g. 1000 |
-rwth | Random weather — MR wind traces are randomised. | (No argument) |
-avx | Availability multiplier factor. | e.g. 0.95 |
-m | Maintenance on. | (No argument) |
-md | Maintenance + PASA + demand. | (No argument) |
-mc | Maintenance + PASA without demand. | (No argument) |
-cost | Use cost-based dispatch rather than bid-based. | 1, 2, or 3 |
Optimisation
| Option | Description | Argument |
|---|---|---|
-op | Optimisation on. | (No argument) |
-opELP | Enable Energy-Limited-Plant optimisation for every storage in the model. | ALL or Storage ID |
-opbid | Bid optimisation for one or more storage systems. Repeatable. | Storage ID |
-opbid2 | Alternative storage bid-optimisation variant that targets best-time charge/discharge windows. | Storage ID |
-optp | Optimise-object type. | Player, Sites, Site, Unit |
-opid | Optimise-object ID. | e.g. 01SUAL |
-opf | Optimise contracted demand file. | DemCont.csv |
-opco | Optimise SRMC cost (PhP/MWh). | e.g. 4000 |
-opch | Optimise change-limit factor. | e.g. 0.5 |
-opcf | Optimise capacity-factor limit. | e.g. 0.85 |
-opsn | Optimise sensitivity. | e.g. 0.1 |
-iret | Retailer or generator role. | 0=retailer, 1=generator |
Co-optimisation
| Option | Description | Argument |
|---|---|---|
-coopt | Coupled co-optimisation prototype. Bare flag; auto-enables -spin 1 unless -spin 0 explicit. | (No argument) |
The IPOOL_COOPT_EXP environment variable is also accepted as a
secondary channel for the same feature; the CLI flag is the
primary channel.
Diagnostics
| Option | Description | Argument |
|---|---|---|
-progress | Force the progress bar on. | (No argument) |
-noprogress | Force the progress bar off (server-injected in containerised runs). | (No argument) |
-diag | Stderr diagnostic density (headless-only). | quiet, normal, verbose, or debug |
-ExcPS | Exclude pump and demand units from the region demand in WESM historical load. | (No argument) |
-OutID | Print outages of the indicated object ID. | ALL, 01SUAL, ... |
Reporting Extras
| Option | Description | Argument |
|---|---|---|
-group | Include group sites (also in Scenario Options). | Group name |
-port | Include market players (also in Scenario Options). | Participant ID |
-stor | Include storages (also in Scenario Options). | Storage ID |
Advanced / internal
The options below exist in the engine but are rarely needed for day-to-day scenario work — they are typically reached through direct low-level invocation or via automated test tooling. They are listed for completeness.
| Option | Description | Argument |
|---|---|---|
POOLID | Pool-id override (headless-only). | Pool ID |
DATABASE | Data-source mode: MSAccess or MSSQL (headless-only, validated). | Mode name |
MARKETDATASOURCE | Market data source: FILE or MSSQL (headless-only, validated). | Mode name |
setmarket | Switch market (AEMO / WESM), saves to INI and re-launches. | AEMO or WESM |
emp2isdb | Round-trip harness: load .emp, write .isdb. Takes two positional arguments. | <empPath> <isdbPath> |
isdbcopy | Round-trip harness: load .isdb, write copy. | <inIsdb> <outIsdb> |
oisdb | Round-trip harness: load .isdb, run normally. | <isdbPath> |
oisdb-report | Round-trip harness: load .isdb, re-report (no re-sim). | <isdbPath> |
oisdb-recalc | Round-trip harness: load .isdb, re-price via SimulFast. | <isdbPath> |